// 类
// 类继承
// 类的修饰符
// public: 公共属性： 都可以访问。
// protected: 保护属性， 只能在类“Father”及其子类中访问
// private: 私有属性， 只能在类“Father”
export { };

// 父类 | 基类
class Father {
	// 实例属性
	// public: 公共属性： 都可以访问。
	public name: string
	// protected: 保护属性， 只能在类“Father”及其子类中访问
	protected age: number
	// private: 私有属性， 只能在类“Father”
	private money = 200
	// 构造器
	public constructor(name: string, age: number) {
		this.name = name
		this.age = age

		this.money -= 10
	}
	// 原型方法
	public sayName() {
		console.log(`我是${this.name}, 今年${this.age}岁了！！`)
	}
}

// 子类 | 派生类
class Son extends Father {
	public sex: string
	// 构造器
	public constructor(name: string, age: number, sex: string) {
		// 必须调用super
		super(name, age)
		this.sex = sex

		this.age = 100

	}
}



const s1 = new Son('阿三', 22, '男')




